const mysql = require("mysql");

/**
 * 发送 SQL 语句到 MySQL 服务器，并执行该 SQL 语句，返回结果
 * @param {string} sql 要发送 SQL 语句
 * @param {array} params SQL 语句中包含的参数
 */
function query(sql, params = []) {
    // 创建链接配置
    const con = mysql.createConnection({
        host: "localhost",
        port: 3306,
        user: "root",
        password: "root",
        database: "api-koa",
    });

    // 发送 SQL 语句
    return new Promise((resolve, reject) => {
        // 发送 http 请求
        con.query(sql, params, (error, data) => {
            if (error) {
                reject(error);
            } else {
                resolve(data);
            }
            // 关闭
            con.end();
        });
    });
}

module.exports = {
    query,
};
